package view;

import java.util.HashMap;
import java.util.LinkedHashMap;

import tool.devintAPI.MenuAbstrait2;
import controleur.Config;
import controleur.eMenuOption;
import controleur.iTransitionControleur;

@SuppressWarnings("serial")
public class MenuView extends MenuAbstrait2
{

	private static String[] getOptionsArr(HashMap<String, eMenuOption> h)
	{
		Object[] keys = h.keySet().toArray();

		String[] arr = new String[h.size()];
		for (int i = 0; i < h.size(); i++)
			arr[i] = keys[i].toString();
		return arr;
	}

	public static void main(String[] args)
	{
		LinkedHashMap<String, eMenuOption> h = new LinkedHashMap<String, eMenuOption>();
		h.put("hzha", eMenuOption.rien);
		h.put("haha", eMenuOption.rien);

		new MenuView("testt", "testd", h, null, Config.defaultCfg);
	}

	public final iTransitionControleur controleur;
	private final eMenuOption[] returnOpt;

	public MenuView(String title, String desc,
			LinkedHashMap<String, eMenuOption> choixXReturnOpt,
			iTransitionControleur c, Config cfg)
	{
		super(title, desc, MenuView.getOptionsArr(choixXReturnOpt), cfg);
		this.controleur = c;

		this.returnOpt = choixXReturnOpt.values().toArray(
				new eMenuOption[choixXReturnOpt.size()]);

		this.voix.playShortText(desc);
	}

	@Override
	protected void lancerOption(int i)
	{
		if (0 <= i)
			this.lancerOption(this.returnOpt[i]);
	}
	
	protected void lancerOption(eMenuOption o)
	{
		if (this.controleur != null)
			this.controleur.choix(o);
	}



	@Override
	protected String wavAccueil()
	{
		// Pas de son accueil dans cette vue (pour l'instant)
		return null;
	}

	@Override
	protected String wavAide()
	{
		// Pas de son d'aide dans cette vue (pour l'instant)
		return null;
	}

	@Override
	protected iTransitionControleur getControleur()
	{
		return controleur; 
	}



}
